View Javadoc

1   package uba.db.sql.language;
2   
3   import org.apache.commons.lang.builder.EqualsBuilder;
4   import org.apache.commons.lang.builder.HashCodeBuilder;
5   
6   /***
7    * Representa una expresión de igual del tipo: <i>a = b</i>.
8    * 
9    * @version $Revision: 1.8 $
10   */
11  public class EqualComparison extends ComparisonBehavior {
12      /***
13       * Crea una expresion que representa la comparacion por igualdad entre la
14       * expresión <i>left</i> y la expresión <i>right</i>.
15       * 
16       * @param left
17       *            expresión a un lado de la igualdad.
18       * @param right
19       *            expresión al otro lado de la igualdad.
20       */
21      public EqualComparison(SingleValue left, SingleValue right) {
22          super(left, right);
23      }
24  
25      /***
26       * @see java.lang.Object#hashCode()
27       */
28      public int hashCode() {
29          return HashCodeBuilder.reflectionHashCode(this);
30      }
31  
32      /***
33       * @see java.lang.Object#equals(java.lang.Object)
34       */
35      public boolean equals(Object obj) {
36          return EqualsBuilder.reflectionEquals(this, obj);
37      }
38  
39      /***
40       * @see uba.db.sql.language.SingleValue#accept(uba.db.sql.language.Visitor)
41       */
42      public void accept(Visitor visitor) {
43          visitor.visitEqualComparison(this);
44      }
45  
46      /***
47       * @see uba.db.sql.language.ComparisonBehavior#operatorAsString()
48       */
49      protected String operatorAsString() {
50          return " = ";
51      }
52  
53      /***
54       * @see uba.db.sql.language.ComparisonBehavior#compareValues(Comparable,
55       *      Comparable)
56       */
57      protected boolean compareValues(Comparable leftValue, Comparable rightValue) {
58          return leftValue.equals(rightValue);
59      }
60  }